package demo.oscache;

/**
 * 对 Web 服务器来说，缓存的这个内容部分需要有对服务器的请求或逻辑计算等的，可想而知，去缓存一段静态html是没有意义的。
 * 
 * @author hemj
 * @date 2016年11月15日
 */
public class UserCacheManager {
	private BaseCache newsCache;
	private static UserCacheManager instance;
	private static Object lock = new Object();

	private UserCacheManager() {
		// 这个根据配置文件来，初始BaseCache而已;
		newsCache = new BaseCache("news", 2);
	}

	public static UserCacheManager getInstance() {
		if (instance == null) {
			synchronized (lock) {
				if (instance == null) {
					instance = new UserCacheManager();
				}
			}
		}
		return instance;
	}

	public void removeAllNews() {
		newsCache.removeAll();
	}

	public void putUser(User news) {
		newsCache.put(news.getId() + "", news);
	}

	public void removeUser(String newsID) {
		newsCache.remove(newsID);
	}

	public User getUser(int newsID) {
		try {
			return (User) newsCache.get(newsID + "");
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
}
